Temenos Digital
R24 AMR | Min(s) read

Database Setup

The Temenos database is an integral part of the Temenos Digital solution. It serves as the store for various services available as part of the Digital Banking Platform. It also acts as the back-end data store for many more local services which simulate core digital banking functionality and are expected to be used during development and demonstrations. 

Temenos provides Flyway™ database scripts for Temenos database deployment and migration. For more information on Flyway™, click here.

  • Make sure that you have the database installed in the system before you proceed with the next steps in this section. For more details on storage requirements, click here.
  • Make sure of the following before setting up the database. It is mandatory to add the following values in the my.ini file:
    • group_concat_max_len=16777216
    • max_allowed_packet=50M
  • If the Transact DB is refreshed, then it is mandatory to refresh the Party MS and DBXDB as well.

Supported Database

Infinity Layer / Stack Stack 7
On Prem
Stack 8
AWS
Stack 9
Azure Cloud
Stack 11
OpenShift
Fabric Database MySQL 5.7 Amazon RDS for MySQL 5.7 MS SQL Server 2019 MySQL 8.0.26
DBX DB MySQL 8.0.28 Amazon RDS for MySQL 5.7
  • MS SQL Server 2019
  • Oracle v19.3*

Any of these:

  • MySQL 8.0.28
  • MS SQL 19*
  • Oracle 19.3*^
Microservices SQL DB based MySQL 8.0.28
  • Receipt: Aurora MySQL 5.6
  • Eventstore: Aurora MySQL 5.7
  • Accountaggregate: Aurora MySQL 5.7
  • Campaign: Aurora MySQL 5.7
  • Arrangement: Aurora MySQL 5.7
  • Savingspot: Aurora PostgreSQL 13
  • Consent: Aurora MySQL 5.7
  • Adapter: Aurora PostgreSQL 13
  • Document: Aurora MySQL 5.7
MySQL 8.0.28

Any of these:

  • MySQL 8.0
  • MS SQL Server 2022*
  • Oracle 19c (19.0.0)*
  • PostgreSQL 14*
Microservices NoSQL based PostgreSQL 13.1 PostgreSQL 13.1 PostgreSQL 13.1

Any of these:

  • PostgreSQL 14
  • MongoDB 5.0.9*
Red Hat PAM MySQL 8.0.28 Aurora MySQL 8.0 MySQL 8.0.28

Any of these:

  • MySQL 8.0.28
  • PostgreSQL 13.2
Keycloak PostgreSQL 13.1 Aurora PostgreSQL 13 PostgreSQL 13.1 PostgreSQL 13.0

*Not supported and it will be only manual installation.

^Delivering as customer specific packs on request basis. Not available out-of-the-box.

Download Artifacts

To download the artifacts required for the database set up, see Download Software Assets or contact your Temenos representative. See the table to determine the correct database scripts that must be set up in your system. 

The names of the database scripts are suffixed with a <<major_version>>.<<minor_version>>.<<fix_version>> format for every release. 

Schema List

Flyway™ Script Description Do I have to install this? Default Schema Discovery Path
DBXDBMigrations-x.x.x.jar Temenos Digital schema for core services, user management and Spotlight functionality This is the base schema which is mandatory for any Digital Banking Solution to work. dbxdb Spotlight_App-vx.x.x\Spotlight_App-vx.x.x\dist\tools
LogServicesDBMigrations-x.x.x.jar Temenos Digital schema for application and audit logs This is mandatory for the application and audit logging functionality incorporated into the core services. dbxlogs Spotlight_App-vx.x.x\Spotlight_App-vx.x.x\dist\tools
OpenApisDbMigration-x.x.x.jar

(Certified only till v4.2.2)

Temenos Digital schema for Open APIs This is required only if you will be exposing your existing core services as Open APIs for consumption by external third party providers. dbpopenapis DigitalBankingPlatform_App-vx.x.x\DigitalBankingPlatform_App-vx.x.x\Database\OpenAPIs_DB_vx.x.x\OpenAPIs_DB_vx.x.x
IDMDBMigrations-x.x.x.jar Temenos Digital identity management schema for Keycloak integration. This is mandatory for the spotlight application to work with third party IDM. db: keycloak schema: public Spotlight_App-vx.x.x\Spotlight_App-vx.x.x\dist\tools

Database Migration Scenarios

Depending on the initial state of the database, the execution of the database scripts will result in the following outcomes:

Initial Database State What the Flyway™ tool execution does
Temenos Digital schema does not exist
  • Creates the schema with the specified name.
  • Executes the migration scripts in a sequential order as per the version.
Temenos Digitalschema exists. Flyway™ scripts being executed for the first time
  • Creates the Schema History table baselines the existing schema as 4.0.
  • Executes the DDL and DML statements in the scripts with version higher than 4.0.
  • Updates the Schema History table on completion of execution of each script.
Temenos Digital schema exists and Flyway™ scripts have been executed for an earlier version
  • Determines the current version of the database by referring to the Schema History table.
  • Execute the scripts of higher versions in a sequential manner in ascending order of the versions.
  • Updates the Schema History table on completion of execution of each script.

Database Migration Tool Execution

The scripts provided by Temenos can be executed through the command line using the following syntax:

Make sure you have installed an appropriate JVM.

If database is SQL server, Flyway cannot create database. Therefore, connect to SQL Server through any client tool and create the database using the following query.

MYSQL: java -Ddb.user=<<database_username>> -Ddb.password=<<database_user_password>> -Ddb.host=<<database_host_IP>> -Ddb.port=<<database_port>> -Ddb.name=<<db_name>> -Ddb.type=<<database_provider_type>> -jar <<Migrations_JAR_NAME.jar>>
SQL Server: java -Ddb.user=<<database_username>> -Ddb.password=<<database_user_password>> -Ddb.host=<<database_host_IP>> -Ddb.port=<<database_port>> -Ddb.name=<<db_name>> -Ddb.schemaName=<<schema_name>> -Ddb.type=<<database_provider_type>> -jar <<Migrations_JAR_NAME.jar>>

If database is Oracle server, create the database using the following query:

Java command to create dbxdb database

java -Ddb.user=\"dbxdb\" -Ddb.password="dbxdb" -Ddb.host=20.82.187.101 -Ddb.port=1521 -Ddb.name=dbxdb -Ddb.serviceName=pdbone -Ddb.type=ORACLE -jar "./DBXDBMigrations-202104.05.jar" >>

Java command to create dbxlogs database

java -Ddb.user=\"dbxlogs\" -Ddb.password="dbxlogs" -Ddb.host=20.82.187.101 -Ddb.port=1521 -Ddb.name= dbxlogs -Ddb.serviceName=pdbone -Ddb.type=ORACLE -jar "./LogServicesDBMigrations- 202104.05.jar" 

The following table describes the parameters mentioned in the syntax:

Parameter Description Mandatory? Sample Values
db.user Username of the database user with necessary privileges. Mandatory root
db.password Password of the database user in plain text. Mandatory admin
db.host Fully qualified host name or URL of the database instance. Mandatory 192.168.0.1
db.port Port number on which the target database is running. Mandatory 3306
db.name Name of the target schema. Mandatory

dbxdb

See schema list for the default schema list

db.realmName Name of the spotlight realm. Mandatory spotlight -jar IDMDBMigrations-0.0.1-SNAPSHOT.jar
db.type Type of the Database. Mandatory MYSQL
db.schemaName This is mandatory for SQL Server database. Database name will be the same but schema name must be different for the required two db migrations. Mandatory dbxdb, dbxlogs
db.conn.props Additional properties to be added to the connection string. The properties must be enclosed within double quotes. Optional "useSSL=false"
db.custom.migrations.path Path to the folder containing custom scripts that are to be executed after the product native scripts. Optional "D:\CustomMigrations"

Execute the Scripts for Temenos Digital Schema

Replace the execution parameters as per your installation and file names as per the version. 

Temenos Digital Core Schema

MySQL: java -Ddb.user=root -Ddb.password=admin -Ddb.host=10.10.1.145 -Ddb.port=3306 -Ddb.name=dbxdb -Ddb.type=MYSQL -jar DBXDBMigrations-4.2.0.jar
SQL Server: java -Ddb.user=root -Ddb.password=admin -Ddb.host=10.10.1.145 -Ddb.port=3306 -Ddb.name=dbxdb -Ddb.schemaName=dbxdb -Ddb.type=MSSQL -jar DBXDBMigrations-4.2.0.jar

DBX Log Services

MySQL: java -Ddb.user=root -Ddb.password=admin -Ddb.host=10.10.1.145 -Ddb.port=3306 -Ddb.name=konydbplog -Ddb.type=MYSQL -jar LogServicesDBMigrations-4.2.0.jar

DBX Open APIs (valid only till v4.2.2)

java -Ddb.user=root -Ddb.password=admin -Ddb.host=10.10.1.145 -Ddb.port=3306 -Ddb.name=dbpopenapis -Ddb.type=MYSQL -jar OpenApisDbMigration-4.2.0.jar 

DBX IDM Service

java -Ddb.user=keycloak -Ddb.password=password -Ddb.host=10.10.1.145 -Ddb.port=5432 -Ddb.name=keycloak -Ddb.type=POSTGRES -Ddb.schemaName=public -Ddb.realmName=spotlight -jar IDMDBMigrations-0.0.1-SNAPSHOT.jar

Execute the Script to Avoid Issue while Creating Corporate Users

After the database is set up, execute the script file for on-premise installations. This avoids the issue while creating corporate users.

            Click here for script file
        

Steps to resolve checksum issue while upgrading database

  1. Go to the log file of the migration results. Check the version number for which we need to update the checksum value.

    This value is currently applied to db. "Applied to database: 1001123983"
    For the version specified in the log file, we need to change the above value to the log file. Resolved locally: -827176556
  2. Execute MySQL query to update the checksum value: UPDATE flyway_schema_history SET checksum = << Resolved locally >> where version = <<version>>;
  3. VersionChecksum
    '2022.04''1575982952'
    '2022.04.1' '388456178'
    '2022.04.2'133973211'
    '2022.04.3' '-827176556'
    '2022.07'731720480'
    '2022.07.1' '-93533165'
    '2022.07.2' '1799307737'
    '2022.10' '-922754715'
    '2023.01''475614256'
    '2023.03' '1570517579'
    '2023.04' '281669275'

Custom Scripts

In certain scenarios, you may want to augment the standard scripts provided by Temenos with additional requirements of your own. This is generally required to enhance the attributes in the existing schema and set up default data for your installation. The following must be considered to achieve:

  • Create a folder (for example: CustomMigrations) to hold the additional scripts.
  • This folder must have two scripts ddl.sql and dml.sql which refer to the DDL and DML scripts respectively.
  • The custom DDL scripts must not modify any table/view/stored procedure of the base product schema.
  • The custom DDL scripts must only add new tables/columns/views/stored procedures by following the naming conventions to avoid conflicts with future DDL scripts of the base product.
    • A new column being added to an existing base product table must either be prefixed with "c_" or suffixed with "_c". For example: c_firstname, firstname_c.
    • A new table being added to an existing base product schema must either be prefixed with "c_" or suffixed with "_c". For example: c_account, account_c.
    • A new view or stored procedure being added to an existing base product schema must either be prefixed with "c_" or suffixed with "_c". For example: c_transactions_view, transactions_view_c etc.

Configure the Core Type for Business Enrollment

This is a deployment time configuration maintained in the application table of DBX DB. This configuration allows to select between an account centric method or a customer centric method for business enrollments and management of company information in Spotlight. FIs could select either configuration depending on the type of flow that is supported by the core banking system used by the FI.

The flows like business enrollment through Retail Banking applications and managing Companies information in Spotlight would vary depending on the core type configured here.

You can configure the core type from the following location:

  • Database: DBXDB
  • Table: Application
  • Field: isAccountCentricCore
  • Value: 0 (default value)
    • 1 - It denotes account centric flow.(Deprecated after introduction of Contracts in 21.04)
    • 0 - Change it to 0 if you need customer centric flow.

For the out-of-the-box application, the application maintains both types of sample core data for user experience. Refer to Manage Contracts to view the functional difference between the flows.

 

Copyright © 2020- Temenos Headquarters SA

Published on :
Thursday, May 30, 2024 11:40:24 AM IST